package com.rf.richfitwheel.admin.iam.model;

import java.util.ArrayList;
import java.util.List;

public class PortalUsbKeyExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PortalUsbKeyExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUkeyNoIsNull() {
            addCriterion("ukey_no is null");
            return (Criteria) this;
        }

        public Criteria andUkeyNoIsNotNull() {
            addCriterion("ukey_no is not null");
            return (Criteria) this;
        }

        public Criteria andUkeyNoEqualTo(String value) {
            addCriterion("ukey_no =", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoNotEqualTo(String value) {
            addCriterion("ukey_no <>", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoGreaterThan(String value) {
            addCriterion("ukey_no >", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoGreaterThanOrEqualTo(String value) {
            addCriterion("ukey_no >=", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoLessThan(String value) {
            addCriterion("ukey_no <", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoLessThanOrEqualTo(String value) {
            addCriterion("ukey_no <=", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoLike(String value) {
            addCriterion("ukey_no like", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoNotLike(String value) {
            addCriterion("ukey_no not like", value, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoIn(List<String> values) {
            addCriterion("ukey_no in", values, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoNotIn(List<String> values) {
            addCriterion("ukey_no not in", values, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoBetween(String value1, String value2) {
            addCriterion("ukey_no between", value1, value2, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andUkeyNoNotBetween(String value1, String value2) {
            addCriterion("ukey_no not between", value1, value2, "ukeyNo");
            return (Criteria) this;
        }

        public Criteria andCertificateDnIsNull() {
            addCriterion("certificate_dn is null");
            return (Criteria) this;
        }

        public Criteria andCertificateDnIsNotNull() {
            addCriterion("certificate_dn is not null");
            return (Criteria) this;
        }

        public Criteria andCertificateDnEqualTo(String value) {
            addCriterion("certificate_dn =", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnNotEqualTo(String value) {
            addCriterion("certificate_dn <>", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnGreaterThan(String value) {
            addCriterion("certificate_dn >", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnGreaterThanOrEqualTo(String value) {
            addCriterion("certificate_dn >=", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnLessThan(String value) {
            addCriterion("certificate_dn <", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnLessThanOrEqualTo(String value) {
            addCriterion("certificate_dn <=", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnLike(String value) {
            addCriterion("certificate_dn like", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnNotLike(String value) {
            addCriterion("certificate_dn not like", value, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnIn(List<String> values) {
            addCriterion("certificate_dn in", values, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnNotIn(List<String> values) {
            addCriterion("certificate_dn not in", values, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnBetween(String value1, String value2) {
            addCriterion("certificate_dn between", value1, value2, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andCertificateDnNotBetween(String value1, String value2) {
            addCriterion("certificate_dn not between", value1, value2, "certificateDn");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNull() {
            addCriterion("start_date is null");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNotNull() {
            addCriterion("start_date is not null");
            return (Criteria) this;
        }

        public Criteria andStartDateEqualTo(String value) {
            addCriterion("start_date =", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotEqualTo(String value) {
            addCriterion("start_date <>", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThan(String value) {
            addCriterion("start_date >", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThanOrEqualTo(String value) {
            addCriterion("start_date >=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThan(String value) {
            addCriterion("start_date <", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThanOrEqualTo(String value) {
            addCriterion("start_date <=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLike(String value) {
            addCriterion("start_date like", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotLike(String value) {
            addCriterion("start_date not like", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateIn(List<String> values) {
            addCriterion("start_date in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotIn(List<String> values) {
            addCriterion("start_date not in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateBetween(String value1, String value2) {
            addCriterion("start_date between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotBetween(String value1, String value2) {
            addCriterion("start_date not between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNull() {
            addCriterion("end_date is null");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNotNull() {
            addCriterion("end_date is not null");
            return (Criteria) this;
        }

        public Criteria andEndDateEqualTo(String value) {
            addCriterion("end_date =", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotEqualTo(String value) {
            addCriterion("end_date <>", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThan(String value) {
            addCriterion("end_date >", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThanOrEqualTo(String value) {
            addCriterion("end_date >=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThan(String value) {
            addCriterion("end_date <", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThanOrEqualTo(String value) {
            addCriterion("end_date <=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLike(String value) {
            addCriterion("end_date like", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotLike(String value) {
            addCriterion("end_date not like", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIn(List<String> values) {
            addCriterion("end_date in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotIn(List<String> values) {
            addCriterion("end_date not in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateBetween(String value1, String value2) {
            addCriterion("end_date between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotBetween(String value1, String value2) {
            addCriterion("end_date not between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andRefNoIsNull() {
            addCriterion("ref_no is null");
            return (Criteria) this;
        }

        public Criteria andRefNoIsNotNull() {
            addCriterion("ref_no is not null");
            return (Criteria) this;
        }

        public Criteria andRefNoEqualTo(String value) {
            addCriterion("ref_no =", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoNotEqualTo(String value) {
            addCriterion("ref_no <>", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoGreaterThan(String value) {
            addCriterion("ref_no >", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoGreaterThanOrEqualTo(String value) {
            addCriterion("ref_no >=", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoLessThan(String value) {
            addCriterion("ref_no <", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoLessThanOrEqualTo(String value) {
            addCriterion("ref_no <=", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoLike(String value) {
            addCriterion("ref_no like", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoNotLike(String value) {
            addCriterion("ref_no not like", value, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoIn(List<String> values) {
            addCriterion("ref_no in", values, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoNotIn(List<String> values) {
            addCriterion("ref_no not in", values, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoBetween(String value1, String value2) {
            addCriterion("ref_no between", value1, value2, "refNo");
            return (Criteria) this;
        }

        public Criteria andRefNoNotBetween(String value1, String value2) {
            addCriterion("ref_no not between", value1, value2, "refNo");
            return (Criteria) this;
        }

        public Criteria andBindUserIdIsNull() {
            addCriterion("bind_user_id is null");
            return (Criteria) this;
        }

        public Criteria andBindUserIdIsNotNull() {
            addCriterion("bind_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andBindUserIdEqualTo(String value) {
            addCriterion("bind_user_id =", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdNotEqualTo(String value) {
            addCriterion("bind_user_id <>", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdGreaterThan(String value) {
            addCriterion("bind_user_id >", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("bind_user_id >=", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdLessThan(String value) {
            addCriterion("bind_user_id <", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdLessThanOrEqualTo(String value) {
            addCriterion("bind_user_id <=", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdLike(String value) {
            addCriterion("bind_user_id like", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdNotLike(String value) {
            addCriterion("bind_user_id not like", value, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdIn(List<String> values) {
            addCriterion("bind_user_id in", values, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdNotIn(List<String> values) {
            addCriterion("bind_user_id not in", values, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdBetween(String value1, String value2) {
            addCriterion("bind_user_id between", value1, value2, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andBindUserIdNotBetween(String value1, String value2) {
            addCriterion("bind_user_id not between", value1, value2, "bindUserId");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIsNull() {
            addCriterion("sync_time is null");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIsNotNull() {
            addCriterion("sync_time is not null");
            return (Criteria) this;
        }

        public Criteria andSyncTimeEqualTo(Long value) {
            addCriterion("sync_time =", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotEqualTo(Long value) {
            addCriterion("sync_time <>", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeGreaterThan(Long value) {
            addCriterion("sync_time >", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("sync_time >=", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeLessThan(Long value) {
            addCriterion("sync_time <", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeLessThanOrEqualTo(Long value) {
            addCriterion("sync_time <=", value, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeIn(List<Long> values) {
            addCriterion("sync_time in", values, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotIn(List<Long> values) {
            addCriterion("sync_time not in", values, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeBetween(Long value1, Long value2) {
            addCriterion("sync_time between", value1, value2, "syncTime");
            return (Criteria) this;
        }

        public Criteria andSyncTimeNotBetween(Long value1, Long value2) {
            addCriterion("sync_time not between", value1, value2, "syncTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeIsNull() {
            addCriterion("my_time is null");
            return (Criteria) this;
        }

        public Criteria andMyTimeIsNotNull() {
            addCriterion("my_time is not null");
            return (Criteria) this;
        }

        public Criteria andMyTimeEqualTo(Long value) {
            addCriterion("my_time =", value, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeNotEqualTo(Long value) {
            addCriterion("my_time <>", value, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeGreaterThan(Long value) {
            addCriterion("my_time >", value, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("my_time >=", value, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeLessThan(Long value) {
            addCriterion("my_time <", value, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeLessThanOrEqualTo(Long value) {
            addCriterion("my_time <=", value, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeIn(List<Long> values) {
            addCriterion("my_time in", values, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeNotIn(List<Long> values) {
            addCriterion("my_time not in", values, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeBetween(Long value1, Long value2) {
            addCriterion("my_time between", value1, value2, "myTime");
            return (Criteria) this;
        }

        public Criteria andMyTimeNotBetween(Long value1, Long value2) {
            addCriterion("my_time not between", value1, value2, "myTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}